#ifndef CAMPAIGNEDITFORM_H
#define CAMPAIGNEDITFORM_H



#include <D20CampaignModel.h>



#include "EditFormWrapper.h"
#include "BaseEditForm.h"


namespace Ui {
    class CampaignEditForm;
}

class CampaignEditFormBase : public QWidget, public BaseEditForm
{
    Q_OBJECT

public:

    virtual void updateData();


protected:

    CampaignEditFormBase(ItemRoot *root, QWidget *parent = 0);
    ~CampaignEditFormBase();

    virtual QString message() const;


private:

    Ui::CampaignEditForm *ui;
//    D20CampaignModel* m_model;


protected slots:

//    virtual void initialize();
//    virtual D20BaseModel* model() const
//    {
//        return m_model;
//    }

    void addItem(const int& group);


private slots:
    void on_actionAdd_Attribute_triggered();
    void on_actionAdd_Skill_triggered();
    void on_actionAdd_Feat_triggered();
    void on_actionAdd_Special_Ability_triggered();
    void on_actionAdd_Bonus_triggered();
    void on_actionAdd_Bonus_Level_triggered();

    //
    void on_lineEditName_editingFinished();
    void on_actionDelete_triggered();
//    void on_actionAdd_Reference_triggered();
//    void on_actionAdd_Item_triggered();
//    void on_actionAdd_Group_triggered();
};



typedef EditFormWrapper<CampaignEditFormBase> CampaignEditForm;



#endif // CAMPAIGNEDITFORM_H
